<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Verifica_Login extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('usuario_model', '', TRUE);
        $this->load->model('opciones_sistema_model');
    }

    function index() {
        //This method will have the credentials validation
        $this->load->library('form_validation');

        $this->form_validation->set_rules('txtUsername', 'username', 'trim|required|xss_clean');
        $this->form_validation->set_rules('txtPassword', 'password', 'trim|required|xss_clean|callback_check_database');

        $this->form_validation->set_message('required', '%s no ingresado');

        if ($this->form_validation->run() == FALSE) {
            //validacion incorrecta, cargamos la vista del login
            $data['page_title'] = "Repuestock";
            $this->load->view('login_view', $data);
        } else {
        	redirect('principal', 'refresh');
        }
    }

    function check_database($password) {
        //Validacion terminada, ahora validamos con la bd
        $username = $this->input->post('txtUsername');
        //query the database
        $result = $this->usuario_model->login($username, $password);
		/*
		 * 02/06/2015
		 * se cambio los parametros para realizar el login como:
		 * id que jala el id_usuario pero de la tabla usuario_perfil
		 * username lo jala de la tabla solicitud_usuario
		 * tipo_usuario se refiere al perfil que puede ser administrador, cliente o proveedor*/
        if ($result) {
            $sess_array = array();
            foreach ($result as $row) {
                $sess_array = array(
                    'id' => $row->idusu,
                    'username' => $row->username,
                	//'nomperfil' => $row->pernom, //nombre del perfil 1:administrador, 2:cliente y 3:proveedor
                    'tipo_usuario' => $row->pe
                );
                
                $padre = $this->opciones_sistema_model->getOpcPadres($sess_array['id']);
                $sess_array['padre'] = $padre;
                
                $barra = $this->opciones_sistema_model->getOpcionesPerfil($sess_array['id']);
                $sess_array['barra'] = $barra;
                
                $this->session->set_userdata('logged_in', $sess_array);
            }
            return true;
        } else {
            $this->form_validation->set_message('check_database', 'Usuario o contraseña incorrecto');
            return false;
        }
    }

}

?>